home *** CD-ROM | disk | FTP | other *** search
Wrap
package morpheme.backgammon; import java.io.DataInputStream; import java.io.DataOutputStream; import java.util.Random; import java.util.Vector; // $FF: renamed from: morpheme.backgammon.j public class class_0 { // $FF: renamed from: new boolean public boolean field_0 = false; // $FF: renamed from: a int private int field_1 = 0; // $FF: renamed from: case morpheme.backgammon.g private transient g field_2; // $FF: renamed from: char morpheme.backgammon.e[] private static final e[] field_3 = new e[]{new e(0, 'B', 2), new e(1, ' '), new e(2, ' '), new e(3, ' '), new e(4, ' '), new e(5, 'W', 5), new e(6, ' '), new e(7, 'W', 3), new e(8, ' '), new e(9, ' '), new e(10, ' '), new e(11, 'B', 5), new e(12, 'W', 5), new e(13, ' '), new e(14, ' '), new e(15, ' '), new e(16, 'B', 3), new e(17, ' '), new e(18, 'B', 5), new e(19, ' '), new e(20, ' '), new e(21, ' '), new e(22, ' '), new e(23, 'W', 2), new e(24, ' '), new e(25, ' ')}; // $FF: renamed from: for morpheme.backgammon.e[] protected e[] field_4 = method_0(); // $FF: renamed from: do int protected int field_5 = 1; // $FF: renamed from: if int protected int field_6 = 64; // $FF: renamed from: try char protected char field_7 = ' '; // $FF: renamed from: else int protected int field_8 = 0; // $FF: renamed from: byte int[] protected int[] field_9 = new int[]{-1, -1, -1, -1}; // $FF: renamed from: int boolean protected boolean field_10 = false; // $FF: renamed from: new () morpheme.backgammon.e[] public static e[] method_0() { e[] var0 = new e[field_3.length]; for(int var1 = 0; var1 < var0.length; ++var1) { var0[var1] = (e)field_3[var1].clone(); } return var0; } public class_0(g var1) { this.field_2 = var1; } public class_0(String var1, int var2, char var3, int var4, g var5) { this.field_5 = var2; this.field_7 = var3; this.field_8 = var4; this.field_2 = var5; this.method_1(); } public class_0() { } public class_0(class_0 var1) { this.field_4 = new e[26]; for(int var2 = 0; var2 < this.field_4.length; ++var2) { this.field_4[var2] = new e(var1.field_4[var2].a, var1.field_4[var2].do, var1.field_4[var2].if); } this.field_9 = new int[]{var1.field_9[0], var1.field_9[1], var1.field_9[2], var1.field_9[3]}; this.field_10 = var1.field_10; this.field_5 = var1.field_5; this.field_7 = var1.field_7; this.field_8 = var1.field_8; } // $FF: renamed from: else () void public void method_1() { this.field_0 = true; } // $FF: renamed from: a (morpheme.backgammon.f) void public void method_2(f var1) { this.method_3(var1); int var3 = var1.if(); int var4 = var1.do(); int var5 = var4; if (var4 == -11) { var5 = var1.a() == 'B' ? 24 : -1; } int var6 = var3; if (var3 == 25) { var6 = 24; } else if (var3 == 24) { var6 = -1; } int var7 = Math.abs(var6 - var5); boolean var8 = false; boolean var9 = false; for(int var10 = 3; var10 > -1; --var10) { if (this.field_9[var10] == var7) { this.method_19(var10); var9 = true; } if (var9) { break; } } if (var4 == -11 && !var9) { if (var7 < this.field_9[3]) { this.method_19(3); } else if (var7 < this.field_9[2]) { this.method_19(2); } else if (var7 < this.field_9[0]) { this.method_19(0); } else if (var7 < this.field_9[1]) { this.method_19(1); } } } // $FF: renamed from: if (morpheme.backgammon.f) void private void method_3(f var1) { int var2 = var1.if(); int var3 = var1.do(); int var4 = this.field_4[var2].a(); char var6 = var4 <= 1 ? 32 : var1.a(); if (var3 == -11) { this.method_18(var2, var6, var4 - 1); } else { char var7 = this.field_4[var3].do(); int var5 = this.field_4[var3].a(); this.method_18(var2, var6, var4 - 1); if (var1.a() != var7 && var7 != ' ') { if (var1.a() == 'W') { this.method_18(24, 'B', this.field_4[24].a() + 1); } else { this.method_18(25, 'W', this.field_4[25].a() + 1); } this.method_18(var3, var1.a(), 1); } else { var5 = this.field_4[var3].a(); this.method_18(var3, var1.a(), var5 + 1); } } } // $FF: renamed from: new (int) boolean public boolean method_4(int var1) { return var1 > 0 && var1 < 27 ? this.field_4[var1].new() : false; } // $FF: renamed from: a () boolean public boolean method_5() { return false; } // $FF: renamed from: char () void public void method_6() { this.field_4 = method_0(); this.method_27(); this.method_14(); } // $FF: renamed from: for () boolean public boolean method_7() { boolean var1 = true; boolean var2 = true; for(int var3 = 0; var3 < 24; ++var3) { if (this.field_4[var3].do() == 'W') { var1 = false; } if (this.field_4[var3].do() == 'B') { var2 = false; } } return var2 || var1; } // $FF: renamed from: byte () char public char method_8() { if (this.method_7()) { boolean var1 = true; boolean var2 = true; for(int var3 = 0; var3 < 24; ++var3) { if (this.field_4[var3].do() == 'W') { var1 = false; } if (this.field_4[var3].do() == 'B') { var2 = false; } } if (var2) { return 'B'; } if (var1) { return 'W'; } } return ' '; } // $FF: renamed from: int (char) boolean public boolean method_9(char var1) { if (var1 == 'B') { if (this.field_4[24].a() != 0) { return false; } else { for(int var3 = 0; var3 < 18; ++var3) { if (this.field_4[var3].do() == 'B' && this.field_4[var3].a() != 0) { return false; } } return true; } } else if (this.field_4[25].a() != 0) { return false; } else { for(int var2 = 6; var2 < 25; ++var2) { if (this.field_4[var2].do() == 'W' && this.field_4[var2].a() != 0) { return false; } } return true; } } // $FF: renamed from: do (char) boolean public boolean method_10(char var1) { int var2 = var1 == 'B' ? 87 : 66; int var3 = 0; for(int var4 = 0; var4 < 24; ++var4) { if (this.method_22(var4) == var2) { var3 += this.method_21(var4); } } return var3 == 15; } // $FF: renamed from: case (char) boolean public boolean method_11(char var1) { int var2 = var1 == 'B' ? 87 : 66; int var3 = 0; if (var2 == 66) { var3 += this.method_21(24); } else { var3 += this.method_21(25); } if (var3 == 0) { return false; } else { for(int var4 = 0; var4 < 24; ++var4) { if (this.method_22(var4) == var2) { var3 += this.method_21(var4); } } return var3 == 15; } } // $FF: renamed from: if (char) boolean public boolean method_12(char var1) { if (var1 != 'B' && var1 != 'W' && var1 != ' ') { return false; } else { this.field_7 = var1; return true; } } // $FF: renamed from: long () int public int method_13() { return this.field_5; } // $FF: renamed from: goto () void public void method_14() { this.field_5 = 1; this.field_8 = 0; this.field_7 = ' '; } // $FF: renamed from: case () boolean public boolean method_15() { if (this.field_5 < this.field_6) { this.field_5 *= 2; ++this.field_8; return true; } else { return false; } } // $FF: renamed from: do () char public char method_16() { return this.field_7; } // $FF: renamed from: int () boolean public boolean method_17() { if (this.method_16() == ' ') { this.method_12((char)(this.field_2.try() == 'W' ? 'B' : 'W')); } else { this.field_7 = (char)(this.field_7 == 'B' ? 87 : 66); } return true; } // $FF: renamed from: a (int, char, int) void public void method_18(int var1, char var2, int var3) { if (var1 >= 0 && var1 <= 25) { if (var3 < 1) { var2 = ' '; } if (var3 < 0) { var3 = 0; } this.field_4[var1] = new e(var1, var2, var3); } } // $FF: renamed from: try (int) void public void method_19(int var1) { this.field_9[var1] = -1; } // $FF: renamed from: null () boolean public boolean method_20() { for(int var1 = 0; var1 < 4; ++var1) { if (this.field_9[var1] != -1) { return false; } } return true; } // $FF: renamed from: a (int) int public int method_21(int var1) { return var1 >= 0 && var1 <= 25 ? this.field_4[var1].a() : 0; } // $FF: renamed from: int (int) char public char method_22(int var1) { return var1 >= 0 && var1 <= 25 ? this.field_4[var1].do() : ' '; } // $FF: renamed from: if (int) int public int method_23(int var1) { return this.field_9[var1]; } // $FF: renamed from: do (int) java.lang.String public String method_24(int var1) { return this.field_9[var1] == -1 ? "" : "" + this.field_9[var1]; } // $FF: renamed from: try () boolean public boolean method_25() { return this.field_10; } // $FF: renamed from: a (int, int) boolean public boolean method_26(int var1, int var2) { if ((var1 <= 0 || var1 >= 7 || var2 <= 0 || var2 >= 7) && var1 != -1 && var2 != -1) { return false; } else { this.field_9[0] = var1; this.field_9[1] = var2; this.field_10 = false; if (var1 == var2) { this.field_9[2] = this.field_9[3] = this.field_9[1]; this.field_10 = true; } else { this.field_9[2] = this.field_9[3] = -1; } return true; } } // $FF: renamed from: if () void public void method_27() { Random var1 = new Random(); this.field_1 = var1.nextInt() % 18 + 18; this.field_9[0] = 1 + this.field_1 / 6; this.field_9[1] = 1 + this.field_1 % 6; if (this.field_9[1] > this.field_9[0]) { int var2 = this.field_9[0]; this.field_9[0] = this.field_9[1]; this.field_9[1] = var2; } if (this.field_9[0] == this.field_9[1]) { this.field_9[2] = this.field_9[1]; this.field_9[3] = this.field_9[1]; this.field_10 = true; } else { this.field_9[2] = -1; this.field_9[3] = -1; this.field_10 = false; } } // $FF: renamed from: for (char, int) int public int method_28(char var1, int var2) { return var1 == 'W' ? var2 - 1 : 6 - (var2 - 18); } // $FF: renamed from: if (char, int) int public int method_29(char var1, int var2) { return var1 == 'B' ? var2 - 1 : 6 - (var2 - 18); } // $FF: renamed from: a (char, int) boolean public boolean method_30(char var1, int var2) { if (var2 == -11 && this.method_9(var1)) { return true; } else if (var2 >= 0 && var2 <= 23) { if (var1 == 'B' && this.field_4[var2].do() == 'W' && this.field_4[var2].a() > 1) { return false; } else { return var1 != 'W' || this.field_4[var2].do() != 'B' || this.field_4[var2].a() <= 1; } } else { return false; } } // $FF: renamed from: byte (char) boolean public boolean method_31(char var1) { boolean var2 = false; for(int var3 = 0; var3 < 4; ++var3) { if (this.field_9[var3] != -1) { var2 = true; break; } } if (!var2) { return false; } else { byte var4; if (var1 == 'W') { var4 = 25; } else { var4 = 24; } if (this.field_4[var4].a() != 0) { for(int var11 = 0; var11 < 4; ++var11) { if (this.method_23(var11) != -1) { int var14 = this.method_29(var1, this.method_23(var11)); if (this.method_30(var1, var14)) { return true; } } } return false; } else { if (this.method_9(var1)) { for(int var5 = 0; var5 < 4; ++var5) { int var6 = this.method_23(var5); if (var6 != -1) { if (this.field_4[this.method_28(var1, var6)].do() == var1 && this.field_4[this.method_28(var1, var6)].a() > 0) { return true; } int var7 = 0; for(int var8 = 6; var8 > var6; --var8) { if (this.field_4[this.method_28(var1, var8)].do() == var1) { var7 += this.field_4[this.method_28(var1, var8)].a(); } } if (var7 == 0) { return true; } } } } if (!this.method_25()) { for(int var9 = 0; var9 < 24; ++var9) { if (this.field_4[var9].do() == var1 && this.field_4[var9].a() > 0) { int var12 = this.method_23(0); int var15 = this.method_23(1); if (var1 == 'B') { if (this.method_30(var1, var9 + var12) && var12 != -1) { return true; } if (this.method_30(var1, var9 + var15) && var15 != -1) { return true; } } else { if (this.method_30(var1, var9 - var12) && var12 != -1) { return true; } if (this.method_30(var1, var9 - var15) && var15 != -1) { return true; } } } } } else { for(int var10 = 0; var10 < 24; ++var10) { if (this.field_4[var10].do() == var1 && this.field_4[var10].a() > 0) { int var13 = 0; int var16 = 0; for(int var17 = 0; var17 < 4; ++var17) { if (this.method_23(var17) != -1) { var13 = this.method_23(var17); ++var16; } } if (var1 == 'B' && this.method_30(var1, var10 + var13)) { return true; } if (var1 == 'W' && this.method_30(var1, var10 - var13)) { return true; } } } } return false; } } } // $FF: renamed from: void () int public int method_32() { return this.field_8; } // $FF: renamed from: a (int, char) java.util.Vector public Vector method_33(int var1, char var2) { Vector var3 = new Vector(); var3.addElement(new f(var1, var1, 'W')); int var4 = this.method_23(0); int var5 = this.method_23(1); if (var2 == 'W') { if (var1 == 25) { var1 = 24; } if (var4 != var5) { boolean var6 = false; boolean var7 = false; int var8 = var1 - var4; int var9 = var1 - var5; if (var5 != -1 && this.method_34(var1, var5, 'W') && var9 > -1) { f var10 = new f(var1, var9, 'W'); var3.addElement(var10); var7 = true; } if (var4 != -1 && this.method_34(var1, var4, 'W') && var8 > -1) { f var24 = new f(var1, var8, 'W'); var3.addElement(var24); var6 = true; } if (var4 != -1 && var5 != -1 && (var6 || var7)) { int var25 = var8 - var5; if (var7) { var25 = var9 - var4; } if (this.method_30('W', var25) && var25 > -1) { f var11 = new f(var1, var25, 'W'); var3.addElement(var11); } } } else { int var12 = var1 - var4; int var15 = 0; for(int var18 = 0; var18 < 4; ++var18) { if (this.field_9[var18] != -1) { ++var15; } } for(int var21 = 0; var21 < var15 && this.method_34(var1 - var4 * var21, var4, 'W'); ++var21) { int var26 = var12 - var4 * var21; if (var26 > -1) { f var31 = new f(var1, var26, 'W'); var3.addElement(var31); } } } } else if (var2 == 'B') { if (var4 != var5) { boolean var13 = false; boolean var16 = false; if (var1 == 24) { var1 = -1; } int var19 = var1 + var4; int var22 = var1 + var5; if (var5 != -1 && this.method_34(var1, var5, 'B')) { if (var22 >= 24) { var22 = -11; } if (var22 < 24) { f var27 = new f(var1, var22, 'B'); var3.addElement(var27); var16 = true; } } if (var4 != -1 && this.method_34(var1, var4, 'B')) { if (var19 >= 24) { var19 = -11; } if (var19 < 24) { f var28 = new f(var1, var19, 'B'); var3.addElement(var28); var13 = true; } } if (var4 != -1 && var5 != -1 && (var13 || var16)) { int var29 = var19 + var5; if (var16) { var29 = var22 + var4; } if (this.method_30('B', var29)) { if (var29 >= 24) { var29 = -11; } if (var29 < 24) { f var32 = new f(var1, var29, 'B'); var3.addElement(var32); } } } } else { if (var1 == 24) { var1 = -1; } int var14 = var1 + var4; int var17 = 0; for(int var20 = 0; var20 < 4; ++var20) { if (this.field_9[var20] != -1) { ++var17; } } for(int var23 = 0; var23 < var17 && this.method_34(var1 + var4 * var23, var4, 'B'); ++var23) { int var30 = var14 + var4 * var23; if (var30 >= 24) { var30 = -11; } if (var30 < 24) { f var33 = new f(var1, var30, 'B'); var3.addElement(var33); } } } } return var3; } // $FF: renamed from: a (int, int, char) boolean public boolean method_34(int var1, int var2, char var3) { if (var3 == 'W') { int var5 = var1 - var2; return this.method_22(var5) != 'B' || this.method_21(var5) <= 1; } else if (var3 == 'B') { int var4 = var1 + var2; return this.method_22(var4) != 'W' || this.method_21(var4) <= 1; } else { return false; } } // $FF: renamed from: for (int) java.lang.String public String method_35(int var1) { int var2 = this.method_21(var1); char var3 = this.method_22(var1); if (var2 == 0) { return "| "; } else { return var2 < 10 ? "| " + var2 + var3 + "" : "|" + var2 + var3 + ""; } } public String toString() { String var1 = "| 11| 10| 9 | 8 | 7 | 6 | 24| 5 | 4 | 3 | 2 | 1 | 0 |\n"; String var2 = "-----------------------------------------------------\n"; String var3 = "| 12| 13| 14| 15| 16| 17| 25| 18| 19| 20| 21| 22| 23|\n"; String var4 = ""; for(int var5 = 11; var5 > 6; --var5) { var4 = var4 + this.method_35(var5); } var4 = var4 + this.method_35(24); for(int var6 = 6; var6 > -1; --var6) { var4 = var4 + this.method_35(var6); } var4 = var4 + "\n"; String var7 = ""; for(int var8 = 12; var8 < 18; ++var8) { var7 = var7 + this.method_35(var8); } var7 = var7 + this.method_35(25); for(int var9 = 18; var9 < 24; ++var9) { var7 = var7 + this.method_35(var9); } var7 = var7 + "\n"; String var10 = ""; for(int var11 = 0; var11 < 4; ++var11) { var10 = var10 + "Dice " + var11 + " = " + this.field_9[var11] + "\n"; } String var12 = ""; var12 = var12 + "Cube: Value = " + this.field_5 + " Owner = " + this.field_7 + "\n"; return var1 + var4 + var2 + var7 + var3 + var10 + var12; } // $FF: renamed from: if (morpheme.backgammon.f[]) morpheme.backgammon.f[] public f[] method_36(f[] var1) { int var2 = 0; for(int var3 = 0; var3 < var1.length; ++var3) { if (var1[var3] != null) { ++var2; } } f[] var4 = new f[var2]; var2 = 0; for(int var5 = 0; var5 < var1.length; ++var5) { if (var1[var5] != null) { var4[var5++] = var1[var5]; } } return var4; } // $FF: renamed from: a (morpheme.backgammon.f[]) morpheme.backgammon.f[] public f[] method_37(f[] var1) { f[] var2 = var1; f[] var3 = new f[5]; int var4 = 0; int var5 = 0; int var6 = 0; int var7 = this.method_23(0); int var8 = this.method_23(1); for(int var9 = 0; var9 < 4; ++var9) { if (this.method_23(var9) > 0) { var5 += this.method_23(var9); } } for(int var10 = 0; var10 < var2.length; ++var10) { if (var2[var10] == null) { return var3; } int var11 = var2[var10].if(); int var12 = var2[var10].do(); char var13 = var2[var10].a(); int var14 = var2[var10].a() == 'B' ? 1 : -1; if (var2[var10].if() == 25 && var2[var10].a() == 'W') { var11 = 24; } if (var2[var10].if() == 24 && var2[var10].a() == 'B') { var11 = -1; } if (var2[var10].do() == -11) { var12 = var13 == 'B' ? 24 : -1; } var6 = Math.abs(var11 - var12); if (var2[var10].do() == -11) { boolean var15 = false; for(int var16 = 0; var16 < 4; ++var16) { if (var6 <= this.method_23(var16)) { var3[var4++] = var2[var10]; if (var4 > 4) { return new f[0]; } var15 = true; break; } } if (var15) { continue; } if (this.method_25()) { for(boolean var26 = false; var6 > var7; var11 += var14 * var7) { var3[var4++] = new f(var11, var11 + var14 * var7, var13); if (var4 > 4) { return new f[0]; } var6 -= var7; } if (var6 <= var7) { var3[var4++] = new f(var11, -11, var13); if (var4 > 4) { return new f[0]; } } continue; } if (var6 < var5) { if (this.method_30(var13, var11 + var7 * var14)) { var3[var4++] = new f(var2[var10].if(), var2[var10].if() + var14 * var7, var13); var3[var4++] = new f(var2[var10].if() + var14 * var7, -11, var13); continue; } if (this.method_30(var13, var11 + var8 * var14)) { var3[var4++] = new f(var2[var10].if(), var2[var10].if() + var14 * var8, var13); var3[var4++] = new f(var2[var10].if() + var14 * var8, -11, var13); continue; } } } if (var6 > var5) { return new f[0]; } if (!this.method_25()) { if (var6 == var7) { var3[var4++] = var2[var10]; if (var4 > 4) { return new f[0]; } } else if (var6 == var8) { var3[var4++] = var2[var10]; if (var4 > 4) { return new f[0]; } } else { if (var6 != var5) { return new f[0]; } if (this.method_30(var2[var10].a(), var11 + var14 * var7)) { var3[var4++] = new f(var2[var10].if(), var11 + var14 * var7, var2[var10].a()); var3[var4++] = new f(var11 + var14 * var7, var2[var10].do(), var2[var10].a()); if (var4 > 4) { return new f[0]; } } else if (this.method_30(var2[var10].a(), var11 + var14 * var8)) { var3[var4++] = new f(var2[var10].if(), var11 + var14 * var8, var2[var10].a()); var3[var4++] = new f(var11 + var14 * var8, var2[var10].do(), var2[var10].a()); if (var4 > 4) { return new f[0]; } } } } else { if (var6 % var7 != 0 || var6 > var5) { return new f[0]; } int var24 = var2[var10].if(); int var25 = var11 + var14 * var7; for(int var17 = 0; var17 < var6 / var7; ++var17) { var3[var4++] = new f(var24, var25, var2[var10].a()); var24 = var25; var25 += var14 * var7; if (var4 > 4) { return new f[0]; } } } } return var3; } // $FF: renamed from: for (char) int public int method_38(char var1) { int var2 = 0; for(int var3 = 0; var3 < 26; ++var3) { if (this.method_22(var3) == var1) { var2 += this.method_21(var3); } } return var2; } // $FF: renamed from: a (char) int public int method_39(char var1) { int var2 = 0; for(int var3 = 0; var3 < 26; ++var3) { if (this.method_22(var3) == var1) { var2 += this.method_21(var3) * this.method_41(var1, var3); } } return var2; } // $FF: renamed from: new (char) java.util.Vector public Vector method_40(char var1) { Vector var2 = new Vector(); for(int var3 = 0; var3 < 26; ++var3) { if (this.method_22(var3) == var1) { var2.addElement(new Integer(var3)); } } return var2; } // $FF: renamed from: do (char, int) int public int method_41(char var1, int var2) { if (var2 > 23) { return 25; } else { return var1 == 'B' ? 24 - var2 : var2 + 1; } } // $FF: renamed from: try (char) boolean public boolean method_42(char var1) { byte var2 = 0; if (var1 == 'B') { var2 = 18; } int var3 = var2 + 6; for(int var4 = var2; var4 < var3; ++var4) { if (this.method_21(var4) < 2) { return false; } } return true; } // $FF: renamed from: a (java.io.DataOutputStream) void public void method_43(DataOutputStream var1) { for(int var2 = 0; var2 < 26; ++var2) { this.field_4[var2].a(var1); } try { for(int var3 = 0; var3 < 4; ++var3) { var1.writeInt(this.method_23(var3)); } var1.writeBoolean(this.field_10); var1.writeInt(this.field_5); var1.writeChar(this.field_7); var1.writeInt(this.field_8); } catch (Exception var4) { ((Throwable)var4).printStackTrace(); } } // $FF: renamed from: a (java.io.DataInputStream) void public void method_44(DataInputStream var1) { for(int var2 = 0; var2 < 26; ++var2) { this.field_4[var2].a(var1); } try { for(int var3 = 0; var3 < 4; ++var3) { this.field_9[var3] = var1.readInt(); } this.field_10 = var1.readBoolean(); this.field_5 = var1.readInt(); this.field_7 = var1.readChar(); this.field_8 = var1.readInt(); } catch (Exception var4) { ((Throwable)var4).printStackTrace(); } } }